{
 "cells": [
  {
   "cell_type": "code",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: chromadb in ./.venv/lib/python3.11/site-packages (0.5.18)\r\n",
      "Requirement already satisfied: xinference in ./.venv/lib/python3.11/site-packages (0.16.2)\r\n",
      "Requirement already satisfied: python-docx in ./.venv/lib/python3.11/site-packages (1.1.2)\r\n",
      "Requirement already satisfied: build>=1.0.3 in ./.venv/lib/python3.11/site-packages (from chromadb) (1.2.2.post1)\r\n",
      "Requirement already satisfied: pydantic>=1.9 in ./.venv/lib/python3.11/site-packages (from chromadb) (2.9.2)\r\n",
      "Requirement already satisfied: chroma-hnswlib==0.7.6 in ./.venv/lib/python3.11/site-packages (from chromadb) (0.7.6)\r\n",
      "Requirement already satisfied: fastapi>=0.95.2 in ./.venv/lib/python3.11/site-packages (from chromadb) (0.115.4)\r\n",
      "Requirement already satisfied: uvicorn>=0.18.3 in ./.venv/lib/python3.11/site-packages (from uvicorn[standard]>=0.18.3->chromadb) (0.32.0)\r\n",
      "Requirement already satisfied: numpy>=1.22.5 in ./.venv/lib/python3.11/site-packages (from chromadb) (1.26.4)\r\n",
      "Requirement already satisfied: posthog>=2.4.0 in ./.venv/lib/python3.11/site-packages (from chromadb) (3.7.0)\r\n",
      "Requirement already satisfied: typing-extensions>=4.5.0 in ./.venv/lib/python3.11/site-packages (from chromadb) (4.12.2)\r\n",
      "Requirement already satisfied: onnxruntime>=1.14.1 in ./.venv/lib/python3.11/site-packages (from chromadb) (1.20.0)\r\n",
      "Requirement already satisfied: opentelemetry-api>=1.2.0 in ./.venv/lib/python3.11/site-packages (from chromadb) (1.28.0)\r\n",
      "Requirement already satisfied: opentelemetry-exporter-otlp-proto-grpc>=1.2.0 in ./.venv/lib/python3.11/site-packages (from chromadb) (1.28.0)\r\n",
      "Requirement already satisfied: opentelemetry-instrumentation-fastapi>=0.41b0 in ./.venv/lib/python3.11/site-packages (from chromadb) (0.49b0)\r\n",
      "Requirement already satisfied: opentelemetry-sdk>=1.2.0 in ./.venv/lib/python3.11/site-packages (from chromadb) (1.28.0)\r\n",
      "Requirement already satisfied: tokenizers>=0.13.2 in ./.venv/lib/python3.11/site-packages (from chromadb) (0.20.3)\r\n",
      "Requirement already satisfied: pypika>=0.48.9 in ./.venv/lib/python3.11/site-packages (from chromadb) (0.48.9)\r\n",
      "Requirement already satisfied: tqdm>=4.65.0 in ./.venv/lib/python3.11/site-packages (from chromadb) (4.66.6)\r\n",
      "Requirement already satisfied: overrides>=7.3.1 in ./.venv/lib/python3.11/site-packages (from chromadb) (7.7.0)\r\n",
      "Requirement already satisfied: importlib-resources in ./.venv/lib/python3.11/site-packages (from chromadb) (6.4.5)\r\n",
      "Requirement already satisfied: grpcio>=1.58.0 in ./.venv/lib/python3.11/site-packages (from chromadb) (1.67.1)\r\n",
      "Requirement already satisfied: bcrypt>=4.0.1 in ./.venv/lib/python3.11/site-packages (from chromadb) (4.2.0)\r\n",
      "Requirement already satisfied: typer>=0.9.0 in ./.venv/lib/python3.11/site-packages (from chromadb) (0.12.5)\r\n",
      "Requirement already satisfied: kubernetes>=28.1.0 in ./.venv/lib/python3.11/site-packages (from chromadb) (31.0.0)\r\n",
      "Requirement already satisfied: tenacity>=8.2.3 in ./.venv/lib/python3.11/site-packages (from chromadb) (9.0.0)\r\n",
      "Requirement already satisfied: PyYAML>=6.0.0 in ./.venv/lib/python3.11/site-packages (from chromadb) (6.0.2)\r\n",
      "Requirement already satisfied: mmh3>=4.0.1 in ./.venv/lib/python3.11/site-packages (from chromadb) (5.0.1)\r\n",
      "Requirement already satisfied: orjson>=3.9.12 in ./.venv/lib/python3.11/site-packages (from chromadb) (3.10.10)\r\n",
      "Requirement already satisfied: httpx>=0.27.0 in ./.venv/lib/python3.11/site-packages (from chromadb) (0.27.2)\r\n",
      "Requirement already satisfied: rich>=10.11.0 in ./.venv/lib/python3.11/site-packages (from chromadb) (13.9.4)\r\n",
      "Requirement already satisfied: xoscar>=0.3.0 in ./.venv/lib/python3.11/site-packages (from xinference) (0.4.0)\r\n",
      "Requirement already satisfied: torch in ./.venv/lib/python3.11/site-packages (from xinference) (2.2.2)\r\n",
      "Requirement already satisfied: gradio in ./.venv/lib/python3.11/site-packages (from xinference) (5.5.0)\r\n",
      "Requirement already satisfied: pillow in ./.venv/lib/python3.11/site-packages (from xinference) (11.0.0)\r\n",
      "Requirement already satisfied: click in ./.venv/lib/python3.11/site-packages (from xinference) (8.1.7)\r\n",
      "Requirement already satisfied: tabulate in ./.venv/lib/python3.11/site-packages (from xinference) (0.9.0)\r\n",
      "Requirement already satisfied: requests in ./.venv/lib/python3.11/site-packages (from xinference) (2.32.3)\r\n",
      "Requirement already satisfied: huggingface-hub>=0.19.4 in ./.venv/lib/python3.11/site-packages (from xinference) (0.26.2)\r\n",
      "Requirement already satisfied: modelscope>=1.10.0 in ./.venv/lib/python3.11/site-packages (from xinference) (1.19.2)\r\n",
      "Requirement already satisfied: sse-starlette>=1.6.5 in ./.venv/lib/python3.11/site-packages (from xinference) (2.1.3)\r\n",
      "Requirement already satisfied: openai>1 in ./.venv/lib/python3.11/site-packages (from xinference) (1.53.0)\r\n",
      "Requirement already satisfied: python-jose[cryptography] in ./.venv/lib/python3.11/site-packages (from xinference) (3.3.0)\r\n",
      "Requirement already satisfied: passlib[bcrypt] in ./.venv/lib/python3.11/site-packages (from xinference) (1.7.4)\r\n",
      "Requirement already satisfied: aioprometheus>=23.12.0 in ./.venv/lib/python3.11/site-packages (from aioprometheus[starlette]>=23.12.0->xinference) (23.12.0)\r\n",
      "Requirement already satisfied: nvidia-ml-py in ./.venv/lib/python3.11/site-packages (from xinference) (12.560.30)\r\n",
      "Requirement already satisfied: async-timeout in ./.venv/lib/python3.11/site-packages (from xinference) (5.0.1)\r\n",
      "Requirement already satisfied: peft in ./.venv/lib/python3.11/site-packages (from xinference) (0.13.2)\r\n",
      "Requirement already satisfied: timm in ./.venv/lib/python3.11/site-packages (from xinference) (1.0.11)\r\n",
      "Requirement already satisfied: lxml>=3.1.0 in ./.venv/lib/python3.11/site-packages (from python-docx) (5.3.0)\r\n",
      "Requirement already satisfied: quantile-python>=1.1 in ./.venv/lib/python3.11/site-packages (from aioprometheus>=23.12.0->aioprometheus[starlette]>=23.12.0->xinference) (1.1)\r\n",
      "Requirement already satisfied: starlette>=0.14.2 in ./.venv/lib/python3.11/site-packages (from aioprometheus[starlette]>=23.12.0->xinference) (0.41.2)\r\n",
      "Requirement already satisfied: packaging>=19.1 in ./.venv/lib/python3.11/site-packages (from build>=1.0.3->chromadb) (24.1)\r\n",
      "Requirement already satisfied: pyproject_hooks in ./.venv/lib/python3.11/site-packages (from build>=1.0.3->chromadb) (1.2.0)\r\n",
      "Requirement already satisfied: anyio in ./.venv/lib/python3.11/site-packages (from httpx>=0.27.0->chromadb) (4.6.2.post1)\r\n",
      "Requirement already satisfied: certifi in ./.venv/lib/python3.11/site-packages (from httpx>=0.27.0->chromadb) (2024.8.30)\r\n",
      "Requirement already satisfied: httpcore==1.* in ./.venv/lib/python3.11/site-packages (from httpx>=0.27.0->chromadb) (1.0.6)\r\n",
      "Requirement already satisfied: idna in ./.venv/lib/python3.11/site-packages (from httpx>=0.27.0->chromadb) (3.10)\r\n",
      "Requirement already satisfied: sniffio in ./.venv/lib/python3.11/site-packages (from httpx>=0.27.0->chromadb) (1.3.1)\r\n",
      "Requirement already satisfied: h11<0.15,>=0.13 in ./.venv/lib/python3.11/site-packages (from httpcore==1.*->httpx>=0.27.0->chromadb) (0.14.0)\r\n",
      "Requirement already satisfied: filelock in ./.venv/lib/python3.11/site-packages (from huggingface-hub>=0.19.4->xinference) (3.16.1)\r\n",
      "Requirement already satisfied: fsspec>=2023.5.0 in ./.venv/lib/python3.11/site-packages (from huggingface-hub>=0.19.4->xinference) (2024.10.0)\r\n",
      "Requirement already satisfied: six>=1.9.0 in ./.venv/lib/python3.11/site-packages (from kubernetes>=28.1.0->chromadb) (1.16.0)\r\n",
      "Requirement already satisfied: python-dateutil>=2.5.3 in ./.venv/lib/python3.11/site-packages (from kubernetes>=28.1.0->chromadb) (2.9.0.post0)\r\n",
      "Requirement already satisfied: google-auth>=1.0.1 in ./.venv/lib/python3.11/site-packages (from kubernetes>=28.1.0->chromadb) (2.36.0)\r\n",
      "Requirement already satisfied: websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0 in ./.venv/lib/python3.11/site-packages (from kubernetes>=28.1.0->chromadb) (1.8.0)\r\n",
      "Requirement already satisfied: requests-oauthlib in ./.venv/lib/python3.11/site-packages (from kubernetes>=28.1.0->chromadb) (2.0.0)\r\n",
      "Requirement already satisfied: oauthlib>=3.2.2 in ./.venv/lib/python3.11/site-packages (from kubernetes>=28.1.0->chromadb) (3.2.2)\r\n",
      "Requirement already satisfied: urllib3>=1.24.2 in ./.venv/lib/python3.11/site-packages (from kubernetes>=28.1.0->chromadb) (2.2.3)\r\n",
      "Requirement already satisfied: durationpy>=0.7 in ./.venv/lib/python3.11/site-packages (from kubernetes>=28.1.0->chromadb) (0.9)\r\n",
      "Requirement already satisfied: coloredlogs in ./.venv/lib/python3.11/site-packages (from onnxruntime>=1.14.1->chromadb) (15.0.1)\r\n",
      "Requirement already satisfied: flatbuffers in ./.venv/lib/python3.11/site-packages (from onnxruntime>=1.14.1->chromadb) (24.3.25)\r\n",
      "Requirement already satisfied: protobuf in ./.venv/lib/python3.11/site-packages (from onnxruntime>=1.14.1->chromadb) (5.28.3)\r\n",
      "Requirement already satisfied: sympy in ./.venv/lib/python3.11/site-packages (from onnxruntime>=1.14.1->chromadb) (1.13.3)\r\n",
      "Requirement already satisfied: distro<2,>=1.7.0 in ./.venv/lib/python3.11/site-packages (from openai>1->xinference) (1.9.0)\r\n",
      "Requirement already satisfied: jiter<1,>=0.4.0 in ./.venv/lib/python3.11/site-packages (from openai>1->xinference) (0.6.1)\r\n",
      "Requirement already satisfied: deprecated>=1.2.6 in ./.venv/lib/python3.11/site-packages (from opentelemetry-api>=1.2.0->chromadb) (1.2.14)\r\n",
      "Requirement already satisfied: importlib-metadata<=8.5.0,>=6.0 in ./.venv/lib/python3.11/site-packages (from opentelemetry-api>=1.2.0->chromadb) (8.5.0)\r\n",
      "Requirement already satisfied: googleapis-common-protos~=1.52 in ./.venv/lib/python3.11/site-packages (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb) (1.65.0)\r\n",
      "Requirement already satisfied: opentelemetry-exporter-otlp-proto-common==1.28.0 in ./.venv/lib/python3.11/site-packages (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb) (1.28.0)\r\n",
      "Requirement already satisfied: opentelemetry-proto==1.28.0 in ./.venv/lib/python3.11/site-packages (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb) (1.28.0)\r\n",
      "Requirement already satisfied: opentelemetry-instrumentation-asgi==0.49b0 in ./.venv/lib/python3.11/site-packages (from opentelemetry-instrumentation-fastapi>=0.41b0->chromadb) (0.49b0)\r\n",
      "Requirement already satisfied: opentelemetry-instrumentation==0.49b0 in ./.venv/lib/python3.11/site-packages (from opentelemetry-instrumentation-fastapi>=0.41b0->chromadb) (0.49b0)\r\n",
      "Requirement already satisfied: opentelemetry-semantic-conventions==0.49b0 in ./.venv/lib/python3.11/site-packages (from opentelemetry-instrumentation-fastapi>=0.41b0->chromadb) (0.49b0)\r\n",
      "Requirement already satisfied: opentelemetry-util-http==0.49b0 in ./.venv/lib/python3.11/site-packages (from opentelemetry-instrumentation-fastapi>=0.41b0->chromadb) (0.49b0)\r\n",
      "Requirement already satisfied: wrapt<2.0.0,>=1.0.0 in ./.venv/lib/python3.11/site-packages (from opentelemetry-instrumentation==0.49b0->opentelemetry-instrumentation-fastapi>=0.41b0->chromadb) (1.16.0)\r\n",
      "Requirement already satisfied: asgiref~=3.0 in ./.venv/lib/python3.11/site-packages (from opentelemetry-instrumentation-asgi==0.49b0->opentelemetry-instrumentation-fastapi>=0.41b0->chromadb) (3.8.1)\r\n",
      "Requirement already satisfied: monotonic>=1.5 in ./.venv/lib/python3.11/site-packages (from posthog>=2.4.0->chromadb) (1.6)\r\n",
      "Requirement already satisfied: backoff>=1.10.0 in ./.venv/lib/python3.11/site-packages (from posthog>=2.4.0->chromadb) (2.2.1)\r\n",
      "Requirement already satisfied: annotated-types>=0.6.0 in ./.venv/lib/python3.11/site-packages (from pydantic>=1.9->chromadb) (0.7.0)\r\n",
      "Requirement already satisfied: pydantic-core==2.23.4 in ./.venv/lib/python3.11/site-packages (from pydantic>=1.9->chromadb) (2.23.4)\r\n",
      "Requirement already satisfied: charset-normalizer<4,>=2 in ./.venv/lib/python3.11/site-packages (from requests->xinference) (3.4.0)\r\n",
      "Requirement already satisfied: markdown-it-py>=2.2.0 in ./.venv/lib/python3.11/site-packages (from rich>=10.11.0->chromadb) (3.0.0)\r\n",
      "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in ./.venv/lib/python3.11/site-packages (from rich>=10.11.0->chromadb) (2.18.0)\r\n",
      "Requirement already satisfied: shellingham>=1.3.0 in ./.venv/lib/python3.11/site-packages (from typer>=0.9.0->chromadb) (1.5.4)\r\n",
      "Requirement already satisfied: httptools>=0.5.0 in ./.venv/lib/python3.11/site-packages (from uvicorn[standard]>=0.18.3->chromadb) (0.6.4)\r\n",
      "Requirement already satisfied: python-dotenv>=0.13 in ./.venv/lib/python3.11/site-packages (from uvicorn[standard]>=0.18.3->chromadb) (1.0.1)\r\n",
      "Requirement already satisfied: uvloop!=0.15.0,!=0.15.1,>=0.14.0 in ./.venv/lib/python3.11/site-packages (from uvicorn[standard]>=0.18.3->chromadb) (0.21.0)\r\n",
      "Requirement already satisfied: watchfiles>=0.13 in ./.venv/lib/python3.11/site-packages (from uvicorn[standard]>=0.18.3->chromadb) (0.24.0)\r\n",
      "Requirement already satisfied: websockets>=10.4 in ./.venv/lib/python3.11/site-packages (from uvicorn[standard]>=0.18.3->chromadb) (12.0)\r\n",
      "Requirement already satisfied: pandas>=1.0.0 in ./.venv/lib/python3.11/site-packages (from xoscar>=0.3.0->xinference) (2.2.3)\r\n",
      "Requirement already satisfied: cloudpickle>=1.5.0 in ./.venv/lib/python3.11/site-packages (from xoscar>=0.3.0->xinference) (3.1.0)\r\n",
      "Requirement already satisfied: psutil>=5.9.0 in ./.venv/lib/python3.11/site-packages (from xoscar>=0.3.0->xinference) (6.1.0)\r\n",
      "Requirement already satisfied: tblib>=1.7.0 in ./.venv/lib/python3.11/site-packages (from xoscar>=0.3.0->xinference) (3.0.0)\r\n",
      "Requirement already satisfied: scipy>=1.0.0 in ./.venv/lib/python3.11/site-packages (from xoscar>=0.3.0->xinference) (1.14.1)\r\n",
      "Requirement already satisfied: aiofiles<24.0,>=22.0 in ./.venv/lib/python3.11/site-packages (from gradio->xinference) (23.2.1)\r\n",
      "Requirement already satisfied: ffmpy in ./.venv/lib/python3.11/site-packages (from gradio->xinference) (0.4.0)\r\n",
      "Requirement already satisfied: gradio-client==1.4.2 in ./.venv/lib/python3.11/site-packages (from gradio->xinference) (1.4.2)\r\n",
      "Requirement already satisfied: jinja2<4.0 in ./.venv/lib/python3.11/site-packages (from gradio->xinference) (3.1.4)\r\n",
      "Requirement already satisfied: markupsafe~=2.0 in ./.venv/lib/python3.11/site-packages (from gradio->xinference) (2.1.5)\r\n",
      "Requirement already satisfied: pydub in ./.venv/lib/python3.11/site-packages (from gradio->xinference) (0.25.1)\r\n",
      "Requirement already satisfied: python-multipart==0.0.12 in ./.venv/lib/python3.11/site-packages (from gradio->xinference) (0.0.12)\r\n",
      "Requirement already satisfied: ruff>=0.2.2 in ./.venv/lib/python3.11/site-packages (from gradio->xinference) (0.7.2)\r\n",
      "Requirement already satisfied: safehttpx<1.0,>=0.1.1 in ./.venv/lib/python3.11/site-packages (from gradio->xinference) (0.1.1)\r\n",
      "Requirement already satisfied: semantic-version~=2.0 in ./.venv/lib/python3.11/site-packages (from gradio->xinference) (2.10.0)\r\n",
      "Requirement already satisfied: tomlkit==0.12.0 in ./.venv/lib/python3.11/site-packages (from gradio->xinference) (0.12.0)\r\n",
      "Requirement already satisfied: transformers in ./.venv/lib/python3.11/site-packages (from peft->xinference) (4.46.2)\r\n",
      "Requirement already satisfied: accelerate>=0.21.0 in ./.venv/lib/python3.11/site-packages (from peft->xinference) (1.1.1)\r\n",
      "Requirement already satisfied: safetensors in ./.venv/lib/python3.11/site-packages (from peft->xinference) (0.4.5)\r\n",
      "Requirement already satisfied: networkx in ./.venv/lib/python3.11/site-packages (from torch->xinference) (3.4.2)\r\n",
      "Requirement already satisfied: ecdsa!=0.15 in ./.venv/lib/python3.11/site-packages (from python-jose[cryptography]->xinference) (0.19.0)\r\n",
      "Requirement already satisfied: rsa in ./.venv/lib/python3.11/site-packages (from python-jose[cryptography]->xinference) (4.9)\r\n",
      "Requirement already satisfied: pyasn1 in ./.venv/lib/python3.11/site-packages (from python-jose[cryptography]->xinference) (0.6.1)\r\n",
      "Requirement already satisfied: cryptography>=3.4.0 in ./.venv/lib/python3.11/site-packages (from python-jose[cryptography]->xinference) (43.0.3)\r\n",
      "Requirement already satisfied: torchvision in ./.venv/lib/python3.11/site-packages (from timm->xinference) (0.17.2)\r\n",
      "Requirement already satisfied: cffi>=1.12 in ./.venv/lib/python3.11/site-packages (from cryptography>=3.4.0->python-jose[cryptography]->xinference) (1.17.1)\r\n",
      "Requirement already satisfied: cachetools<6.0,>=2.0.0 in ./.venv/lib/python3.11/site-packages (from google-auth>=1.0.1->kubernetes>=28.1.0->chromadb) (5.5.0)\r\n",
      "Requirement already satisfied: pyasn1-modules>=0.2.1 in ./.venv/lib/python3.11/site-packages (from google-auth>=1.0.1->kubernetes>=28.1.0->chromadb) (0.4.1)\r\n",
      "Requirement already satisfied: zipp>=3.20 in ./.venv/lib/python3.11/site-packages (from importlib-metadata<=8.5.0,>=6.0->opentelemetry-api>=1.2.0->chromadb) (3.20.2)\r\n",
      "Requirement already satisfied: mdurl~=0.1 in ./.venv/lib/python3.11/site-packages (from markdown-it-py>=2.2.0->rich>=10.11.0->chromadb) (0.1.2)\r\n",
      "Requirement already satisfied: pytz>=2020.1 in ./.venv/lib/python3.11/site-packages (from pandas>=1.0.0->xoscar>=0.3.0->xinference) (2024.2)\r\n",
      "Requirement already satisfied: tzdata>=2022.7 in ./.venv/lib/python3.11/site-packages (from pandas>=1.0.0->xoscar>=0.3.0->xinference) (2024.2)\r\n",
      "Requirement already satisfied: humanfriendly>=9.1 in ./.venv/lib/python3.11/site-packages (from coloredlogs->onnxruntime>=1.14.1->chromadb) (10.0)\r\n",
      "Requirement already satisfied: mpmath<1.4,>=1.1.0 in ./.venv/lib/python3.11/site-packages (from sympy->onnxruntime>=1.14.1->chromadb) (1.3.0)\r\n",
      "Requirement already satisfied: regex!=2019.12.17 in ./.venv/lib/python3.11/site-packages (from transformers->peft->xinference) (2024.9.11)\r\n",
      "Requirement already satisfied: pycparser in ./.venv/lib/python3.11/site-packages (from cffi>=1.12->cryptography>=3.4.0->python-jose[cryptography]->xinference) (2.22)\r\n"
     ]
    }
   ],
   "source": [
    "!pip install chromadb xinference python-docx unstructured"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-11-07T06:35:36.489304Z",
     "start_time": "2024-11-07T06:35:34.346480Z"
    }
   },
   "id": "1988c0ba5a72d9de",
   "execution_count": 9
  },
  {
   "cell_type": "code",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "bge-large-zh-v1.5\n"
     ]
    }
   ],
   "source": [
    "from dotenv import load_dotenv\n",
    "import os\n",
    "\n",
    "# 加载 .env 文件\n",
    "load_dotenv()\n",
    "\n",
    "# 读取环境变量\n",
    "API_BASE_URL = os.getenv(\"API_BASE_URL\")\n",
    "API_KEY = os.getenv(\"API_KEY\")\n",
    "EMBEDDER_URL = os.getenv(\"EMBEDDER_URL\")\n",
    "EMBEDDER_MODEL = os.getenv(\"EMBEDDER_MODEL\")\n",
    "print(EMBEDDER_MODEL)"
   ],
   "metadata": {
    "collapsed": true,
    "ExecuteTime": {
     "end_time": "2024-11-07T06:35:36.503108Z",
     "start_time": "2024-11-07T06:35:36.492505Z"
    }
   },
   "id": "initial_id",
   "execution_count": 10
  },
  {
   "cell_type": "code",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[Document(metadata={'source': '公司规章制度.docx'}, page_content='公司规章制度\\n\\n一、 公司形象\\n\\n1、 员工必须清楚地了解公司的经营范围，并能向客户及外界正确地介绍公司业务。\\n\\n2、 在接待公司内外人员的垂询、要求等任何场合，应注视对方，微笑应答，切不可冒犯对方。\\n\\n3、 在任何场合应用语规范，语气温和，音量适中，严禁大声喧哗。\\n\\n4、 遇有客人进入工作场地应礼貌接待，上班时间（包括午餐时间）办公室内应保证有人接待。\\n\\n5、 接听电话应及时，一般铃响不应超过三声，如受话人不能接听，离之最近的职员应主动接听，重要电话作好接听记录，严禁占用公司电话时间太长。\\n\\n6、 员工在接听电话、洽谈业务、发送电子邮件及招待来宾时，必须时刻注重公司形象，按照具体规定使用公司统一的名片、公司标识及落款。\\n\\n7、 员工在工作时间内须保持良好的精神面貌。\\n\\n8、 员工要注重个人仪态仪表，工作时间的着装及修饰须大方得体。\\n\\n\\n\\n二、 生活作息\\n\\n1、 员工应严格按照公司统一的工作作息时间规定上下班。\\n\\n2、 作息时间规定\\n\\n上班时间 早8：30\\n\\n午休 12：00——13：30\\n\\n下班时间 晚 18：00\\n\\n3、 员工上下班施行签到制，上下班均须本人亲自签到，不得托、替他人签到。\\n\\n4、 员工上下班考勤记录将作为公司绩效考核的重要组成部分。\\n\\n5、 员工如因事需在工作时间内外出，要向主管经理请示签退后方可离开公司。\\n\\n6、 员工遇突发疾病须当天向主管经理请假，事后补交相关证明。\\n\\n7、 事假需提前向主管经理提出申请，并填写【请假申请单】，经批准后方可休息。\\n\\n三、 卫生规范\\n\\n\\n\\n1、 员工须每天清洁个人工作区内的卫生，确保地面、桌面及设备的整洁。\\n\\n2、 员工须自觉保持公共区域的卫生，发现不清洁的情况，应及时清理。\\n\\n3、 员工在公司内接待来访客人，事后需立即清理会客区。\\n\\n4、 办公区域内严禁吸烟。\\n\\n5、 正确使用公司内的水、电、空调等设施，最后离开办公室的员工应关闭空调、电灯和一切公司内应该关闭的设施。\\n\\n6、 要爱护办公区域的花木。\\n\\n四、 工作要求\\n\\n1、 工作时间内不应无故离岗、串岗，不得闲聊、吃零食、大声喧哗，确保办公环境的安静有序。\\n\\n2、 新入职员工的试用期为二个月，员工在试用期内要按月进行考评。\\n\\n3、 公司内所制定的《员工日程表》是衡量员工完成工作量的依据,要求员工每天要认真、详尽的填写,作为公司考核员工工作量的标准。\\n\\n\\n\\n4、职员间的工作交流应在规定的区域内进行（大厅、会议室），如需在个人工作区域内进行谈话的，时间一般不应超过三分钟（特殊情况除外）。\\n\\n5、 加强学习与工作相关的专业知识及技能，积极和公司同事交流和学习专业知识和技能。积极参加公司组织的各项培训（培训将施行签到制，出席记录和培训考核也将作为公司绩效考核的部分）。\\n\\n6、 经常总结工作中的得失，并参与部门的业务讨论，不断提高自身的业务水平。\\n\\n7、 不得无故缺席部门的工作例会及公司的重要会议。\\n\\n8、 员工在工作时间必须全身心地投入，保持高效率地工作。\\n\\n9、 员工在任何时间均不可利用公司的场所、设备及其他资源从事私人活动。一经发现，给予警告，情节严重者，公司将予以辞退。\\n\\n10、 员工须保管好个人的文件资料及办公用品，未经同意不可挪用他人的资料和办公用品。\\n\\n10、员工要保管好个人电脑，按公司规定进行文档存储、杀毒及日常维护，如发生故障应及时报告，由公司安排修理。\\n\\n五、 保密规定\\n\\n\\n\\n1、 员工须严守公司商业机密，妥善保存重要的商业客户资料、数据等信息。\\n\\n2、 管理人员须做好公司重要文件的备份及存档工作，并妥善记录网络密码及口令。并向总经理提交完整的网络口令清单。\\n\\n3、 任何时间，员工均不可擅自邀请亲朋好友在公司聚会。\\n\\n4、 员工及管理人员均不可向外泄露公司发展计划、策略、客户资料及其他重要的方案，如一发现，除接受罚款、辞退等内部处理外，情节严重的，公司将追究其法律责任。\\n\\n六、 人员管理\\n\\n1、 员工必须服从公司的整体管理，包括职务的分配及工作内容的安排。\\n\\n2、 员工须尊重上司，按照上司的指导进行工作并主动向上司汇报工作情况。\\n\\n3、 员工有关业务方面的问题须及时向部门主管或经理反映，听取意见。\\n\\n4、 涉及超出员工权限的决定必须报经部门主管或经理同意。\\n\\n\\n\\n5、 员工不服从上级指挥，目无领导，顶撞上级，而影响公司指导系统的正常运作，视情节严重程度，给予处理。\\n\\n6、 管理人员应团结互助，努力协调好各部门的关系，鼓励并带领好员工队伍，时刻掌握员工的工作情况，确保公司整体策划顺利进行。\\n\\n7、 公司是一个大家庭，员工应团结互助，为公司发展做出努力。\\n\\n七、 物品管理\\n\\n1、 办公用品的日常管理由行政财务部门专门人员负责定期购买；\\n\\n2、 每月15、30日之前，个人将所需要的办公用品填写在公司【购物申请单】上,由行政财务部门专门负责人提交主管经理，审批同意后，由专门负责人将办公用品购回，根据实际需要有计划地发放。\\n\\n3、 若急需某类办公用品，也应先填写【购物申请单】后，交由专门负责人，经主管经理审批同意后，方可购置。\\n\\n4、 新进人员到职时由行政财务部门统一配发各种办公物品。\\n\\n八、 电脑管理\\n\\n\\n\\n1、 使用者应保持电脑设备及其所在环境的清洁。下班时，务必关机切断电源。\\n\\n2、 使用者的业务数据，应严格按照要求妥善存储在网络上相应的位置上。\\n\\n3、 严禁使用计算机玩游戏。\\n\\n4、 公司及各部门的业务数据，重要数据由使用者本人做好及时备份。\\n\\n6、 未经许可，任何私人的光盘、软盘不得在公司的计算机设备上使用。\\n\\n7、 使用者必须妥善保管好自己的用户名和密码，严防被窃取而导致泄密。\\n\\n九、 网络管理\\n\\n1、 工作时间内禁止浏览与自己工作岗位或业务无关的网站。\\n\\n2、 工作时间内不允许在网络上从事与工作无关的行为（如：上网聊天），也决不允许任何与工作无关的信息出现在网络上。\\n\\n\\n\\n3、 严禁在公司网络上玩任何形式的网络游戏、浏览图片、倾听音乐等各种与工作无关的内容。\\n\\n4、 禁止利用公司网络下载各种游戏及大型软件\\n\\n5、 公司网络结构由网络工程师统一规划建设与管理维护，任何人不得私自更改网络结构，个人电脑及服务器设备等所用IP地址必须按网络工程师指定的方式设置，不可擅自更改。\\n\\n6、 严禁任何人以任何手段，蓄意破坏公司网络的正常运行。\\n\\n十、 奖惩办法\\n\\n1、员工奖励分为口头表扬及物质奖励；\\n\\n2、员工惩罚分为口头警告、罚款及除名；\\n\\n3、有下列事迹的员工，在调查核实的基础上，经经理办公会研究，给予相应的奖励：\\n\\nA、积极向公司提出合理化建议，其建议被公司所采纳者；\\n\\nB、维护公司利益和荣誉，保护公共资产，防止事故发生与挽回经济损失有功者。\\n\\n\\n\\n4、下列事由的员工，在调查核实的基础上，经经理办公会研究，给予相应的惩罚：\\n\\nA、违反国家法律、法规或公司规章制度造成经济损失和不良影响的；\\n\\nB、泄露公司经营管理秘密的；\\n\\nC、私自把公司客户介绍他人的。\\n\\n5、公司将设立年终全勤奖（未有迟到、早退现象及病事假），奖金为1000元,于年终考评后一次性发放（以每个月的考勤统计为依据）。\\n\\n6、在公司服务满三年（不含三年）的员工，将给予一周的带薪休假（休假期需提前和公司协商，以不耽误工作为前提，得到许可后方可休假）及2000元的一次性旅游补贴。\\n\\n十一、 经费管理\\n\\n1、 因外出购物或出差需向公司借用备用金时，应首先填写公司【借款申请单】，交主管经理核准、审批签字同意后方可借款；借款后必须在一周内报销销帐（出差人员在回公司上班一周内）；借款未冲平者，不允许再次借款。\\n\\n\\n\\n2、 员工报销已发生费用，首先需找主管会计领取并填写公司【支出凭证】或【支出报销单】（由主管会计负责提供、审核）；主管会计签字后，到借款处填入【借款申请单】中的报销日期，方算完成报销手续。\\n\\n3、 公司员工因公外出办事，续爱护使用车辆，遵守交通规则，不得酒后或者醉酒驾车。\\n\\n4、 公司薪金发放日定为每月15日。')]\n"
     ]
    }
   ],
   "source": [
    "from langchain_community.document_loaders import UnstructuredWordDocumentLoader\n",
    "from langchain_community.vectorstores import Chroma\n",
    "from langchain_community.embeddings import XinferenceEmbeddings\n",
    "from langchain_text_splitters import RecursiveCharacterTextSplitter\n",
    "\n",
    "# 加载 docx 文档\n",
    "loader = UnstructuredWordDocumentLoader(\"公司规章制度.docx\", mode=\"single\")\n",
    "documents = loader.load()\n",
    "print(documents)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-11-07T06:38:26.370100Z",
     "start_time": "2024-11-07T06:38:17.698833Z"
    }
   },
   "id": "c04869c35c80c4c",
   "execution_count": 15
  },
  {
   "cell_type": "code",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[Document(metadata={'source': '公司规章制度.docx'}, page_content='公司规章制度\\n\\n一、 公司形象'), Document(metadata={'source': '公司规章制度.docx'}, page_content='一、 公司形象\\n\\n1、 员工必须清楚地了解公司的经营范围，并能向客户及外界正确地介绍公司业务。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='2、 在接待公司内外人员的垂询、要求等任何场合，应注视对方，微笑应答，切不可冒犯对方。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='3、 在任何场合应用语规范，语气温和，音量适中，严禁大声喧哗。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='4、 遇有客人进入工作场地应礼貌接待，上班时间（包括午餐时间）办公室内应保证有人接待。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='5、'), Document(metadata={'source': '公司规章制度.docx'}, page_content='接听电话应及时，一般铃响不应超过三声，如受话人不能接听，离之最近的职员应主动接听，重要电话作好'), Document(metadata={'source': '公司规章制度.docx'}, page_content='不能接听，离之最近的职员应主动接听，重要电话作好接听记录，严禁占用公司电话时间太长。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='6、'), Document(metadata={'source': '公司规章制度.docx'}, page_content='员工在接听电话、洽谈业务、发送电子邮件及招待来宾时，必须时刻注重公司形象，按照具体规定使用'), Document(metadata={'source': '公司规章制度.docx'}, page_content='宾时，必须时刻注重公司形象，按照具体规定使用公司统一的名片、公司标识及落款。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='7、 员工在工作时间内须保持良好的精神面貌。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='8、 员工要注重个人仪态仪表，工作时间的着装及修饰须大方得体。\\n\\n\\n\\n二、 生活作息'), Document(metadata={'source': '公司规章制度.docx'}, page_content='二、 生活作息\\n\\n1、 员工应严格按照公司统一的工作作息时间规定上下班。\\n\\n2、 作息时间规定'), Document(metadata={'source': '公司规章制度.docx'}, page_content='2、 作息时间规定\\n\\n上班时间 早8：30\\n\\n午休 12：00——13：30\\n\\n下班时间 晚 18：00'), Document(metadata={'source': '公司规章制度.docx'}, page_content='下班时间 晚 18：00\\n\\n3、 员工上下班施行签到制，上下班均须本人亲自签到，不得托、替他人签到。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='4、 员工上下班考勤记录将作为公司绩效考核的重要组成部分。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='5、 员工如因事需在工作时间内外出，要向主管经理请示签退后方可离开公司。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='6、 员工遇突发疾病须当天向主管经理请假，事后补交相关证明。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='7、 事假需提前向主管经理提出申请，并填写【请假申请单】，经批准后方可休息。\\n\\n三、 卫生规范'), Document(metadata={'source': '公司规章制度.docx'}, page_content='三、 卫生规范\\n\\n\\n\\n1、 员工须每天清洁个人工作区内的卫生，确保地面、桌面及设备的整洁。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='2、 员工须自觉保持公共区域的卫生，发现不清洁的情况，应及时清理。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='3、 员工在公司内接待来访客人，事后需立即清理会客区。\\n\\n4、 办公区域内严禁吸烟。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='5、'), Document(metadata={'source': '公司规章制度.docx'}, page_content='正确使用公司内的水、电、空调等设施，最后离开办公室的员工应关闭空调、电灯和一切公司内应该关闭的'), Document(metadata={'source': '公司规章制度.docx'}, page_content='办公室的员工应关闭空调、电灯和一切公司内应该关闭的设施。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='6、 要爱护办公区域的花木。\\n\\n四、 工作要求'), Document(metadata={'source': '公司规章制度.docx'}, page_content='1、 工作时间内不应无故离岗、串岗，不得闲聊、吃零食、大声喧哗，确保办公环境的安静有序。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='2、 新入职员工的试用期为二个月，员工在试用期内要按月进行考评。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='3、'), Document(metadata={'source': '公司规章制度.docx'}, page_content='公司内所制定的《员工日程表》是衡量员工完成工作量的依据,要求员工每天要认真、详尽的填写,作为公司考核员'), Document(metadata={'source': '公司规章制度.docx'}, page_content='据,要求员工每天要认真、详尽的填写,作为公司考核员工工作量的标准。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='4、职员间的工作交流应在规定的区域内进行（大厅、会议室），如需在个人工作区域内进行谈话的，时间一般不'), Document(metadata={'source': '公司规章制度.docx'}, page_content='室），如需在个人工作区域内进行谈话的，时间一般不应超过三分钟（特殊情况除外）。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='5、'), Document(metadata={'source': '公司规章制度.docx'}, page_content='加强学习与工作相关的专业知识及技能，积极和公司同事交流和学习专业知识和技能。积极参加公司'), Document(metadata={'source': '公司规章制度.docx'}, page_content='司同事交流和学习专业知识和技能。积极参加公司组织的各项培训（培训将施行签到制，出席记录'), Document(metadata={'source': '公司规章制度.docx'}, page_content='织的各项培训（培训将施行签到制，出席记录和培训考核也将作为公司绩效考核的部分）。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='6、 经常总结工作中的得失，并参与部门的业务讨论，不断提高自身的业务水平。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='7、 不得无故缺席部门的工作例会及公司的重要会议。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='8、 员工在工作时间必须全身心地投入，保持高效率地工作。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='9、'), Document(metadata={'source': '公司规章制度.docx'}, page_content='员工在任何时间均不可利用公司的场所、设备及其他资源从事私人活动。一经发现，给予警告，情节严重'), Document(metadata={'source': '公司规章制度.docx'}, page_content='从事私人活动。一经发现，给予警告，情节严重者，公司将予以辞退。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='10、 员工须保管好个人的文件资料及办公用品，未经同意不可挪用他人的资料和办公用品。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='10、员工要保管好个人电脑，按公司规定进行文档存储、杀毒及日常维护，如发生故障应及时报告，由'), Document(metadata={'source': '公司规章制度.docx'}, page_content='存储、杀毒及日常维护，如发生故障应及时报告，由公司安排修理。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='五、 保密规定\\n\\n\\n\\n1、 员工须严守公司商业机密，妥善保存重要的商业客户资料、数据等信息。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='2、'), Document(metadata={'source': '公司规章制度.docx'}, page_content='管理人员须做好公司重要文件的备份及存档工作，并妥善记录网络密码及口令。并向总经理提交完整的'), Document(metadata={'source': '公司规章制度.docx'}, page_content='妥善记录网络密码及口令。并向总经理提交完整的网络口令清单。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='3、 任何时间，员工均不可擅自邀请亲朋好友在公司聚会。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='4、'), Document(metadata={'source': '公司规章制度.docx'}, page_content='员工及管理人员均不可向外泄露公司发展计划、策略、客户资料及其他重要的方案，如一发现，除接受罚'), Document(metadata={'source': '公司规章制度.docx'}, page_content='、客户资料及其他重要的方案，如一发现，除接受罚款、辞退等内部处理外，情节严重的，公司将追究其'), Document(metadata={'source': '公司规章制度.docx'}, page_content='款、辞退等内部处理外，情节严重的，公司将追究其法律责任。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='六、 人员管理\\n\\n1、 员工必须服从公司的整体管理，包括职务的分配及工作内容的安排。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='2、 员工须尊重上司，按照上司的指导进行工作并主动向上司汇报工作情况。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='3、 员工有关业务方面的问题须及时向部门主管或经理反映，听取意见。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='4、 涉及超出员工权限的决定必须报经部门主管或经理同意。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='5、'), Document(metadata={'source': '公司规章制度.docx'}, page_content='员工不服从上级指挥，目无领导，顶撞上级，而影响公司指导系统的正常运作，视情节严重程度'), Document(metadata={'source': '公司规章制度.docx'}, page_content='而影响公司指导系统的正常运作，视情节严重程度，给予处理。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='6、'), Document(metadata={'source': '公司规章制度.docx'}, page_content='管理人员应团结互助，努力协调好各部门的关系，鼓励并带领好员工队伍，时刻掌握员工的工作情况，'), Document(metadata={'source': '公司规章制度.docx'}, page_content='励并带领好员工队伍，时刻掌握员工的工作情况，确保公司整体策划顺利进行。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='7、 公司是一个大家庭，员工应团结互助，为公司发展做出努力。\\n\\n七、 物品管理'), Document(metadata={'source': '公司规章制度.docx'}, page_content='七、 物品管理\\n\\n1、 办公用品的日常管理由行政财务部门专门人员负责定期购买；'), Document(metadata={'source': '公司规章制度.docx'}, page_content='2、'), Document(metadata={'source': '公司规章制度.docx'}, page_content='每月15、30日之前，个人将所需要的办公用品填写在公司【购物申请单】上,由行政财务部门专门负责人提交主'), Document(metadata={'source': '公司规章制度.docx'}, page_content='【购物申请单】上,由行政财务部门专门负责人提交主管经理，审批同意后，由专门负责人将办公用品购'), Document(metadata={'source': '公司规章制度.docx'}, page_content='管经理，审批同意后，由专门负责人将办公用品购回，根据实际需要有计划地发放。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='3、'), Document(metadata={'source': '公司规章制度.docx'}, page_content='若急需某类办公用品，也应先填写【购物申请单】后，交由专门负责人，经主管经理审批同意后，'), Document(metadata={'source': '公司规章制度.docx'}, page_content='】后，交由专门负责人，经主管经理审批同意后，方可购置。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='4、 新进人员到职时由行政财务部门统一配发各种办公物品。\\n\\n八、 电脑管理'), Document(metadata={'source': '公司规章制度.docx'}, page_content='八、 电脑管理\\n\\n\\n\\n1、 使用者应保持电脑设备及其所在环境的清洁。下班时，务必关机切断电源。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='2、 使用者的业务数据，应严格按照要求妥善存储在网络上相应的位置上。\\n\\n3、 严禁使用计算机玩游戏。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='3、 严禁使用计算机玩游戏。\\n\\n4、 公司及各部门的业务数据，重要数据由使用者本人做好及时备份。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='6、 未经许可，任何私人的光盘、软盘不得在公司的计算机设备上使用。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='7、 使用者必须妥善保管好自己的用户名和密码，严防被窃取而导致泄密。\\n\\n九、 网络管理'), Document(metadata={'source': '公司规章制度.docx'}, page_content='九、 网络管理\\n\\n1、 工作时间内禁止浏览与自己工作岗位或业务无关的网站。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='2、'), Document(metadata={'source': '公司规章制度.docx'}, page_content='工作时间内不允许在网络上从事与工作无关的行为（如：上网聊天），也决不允许任何与工作无关的信息出现'), Document(metadata={'source': '公司规章制度.docx'}, page_content='上网聊天），也决不允许任何与工作无关的信息出现在网络上。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='3、 严禁在公司网络上玩任何形式的网络游戏、浏览图片、倾听音乐等各种与工作无关的内容。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='4、 禁止利用公司网络下载各种游戏及大型软件'), Document(metadata={'source': '公司规章制度.docx'}, page_content='5、'), Document(metadata={'source': '公司规章制度.docx'}, page_content='公司网络结构由网络工程师统一规划建设与管理维护，任何人不得私自更改网络结构，个'), Document(metadata={'source': '公司规章制度.docx'}, page_content='理维护，任何人不得私自更改网络结构，个人电脑及服务器设备等所用IP地址必须按网络工'), Document(metadata={'source': '公司规章制度.docx'}, page_content='人电脑及服务器设备等所用IP地址必须按网络工程师指定的方式设置，不可擅自更改。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='6、 严禁任何人以任何手段，蓄意破坏公司网络的正常运行。\\n\\n十、 奖惩办法'), Document(metadata={'source': '公司规章制度.docx'}, page_content='十、 奖惩办法\\n\\n1、员工奖励分为口头表扬及物质奖励；\\n\\n2、员工惩罚分为口头警告、罚款及除名；'), Document(metadata={'source': '公司规章制度.docx'}, page_content='3、有下列事迹的员工，在调查核实的基础上，经经理办公会研究，给予相应的奖励：'), Document(metadata={'source': '公司规章制度.docx'}, page_content='A、积极向公司提出合理化建议，其建议被公司所采纳者；'), Document(metadata={'source': '公司规章制度.docx'}, page_content='B、维护公司利益和荣誉，保护公共资产，防止事故发生与挽回经济损失有功者。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='4、下列事由的员工，在调查核实的基础上，经经理办公会研究，给予相应的惩罚：'), Document(metadata={'source': '公司规章制度.docx'}, page_content='A、违反国家法律、法规或公司规章制度造成经济损失和不良影响的；\\n\\nB、泄露公司经营管理秘密的；'), Document(metadata={'source': '公司规章制度.docx'}, page_content='B、泄露公司经营管理秘密的；\\n\\nC、私自把公司客户介绍他人的。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='5、公司将设立年终全勤奖（未有迟到、早退现象及病事假），奖金为1000元,于年终考评后一次性发放'), Document(metadata={'source': '公司规章制度.docx'}, page_content='事假），奖金为1000元,于年终考评后一次性发放（以每个月的考勤统计为依据）。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='6、在公司服务满三年（不含三年）的员工，将给予一周的带薪休假（休假期需提前和公司协商，以不耽误'), Document(metadata={'source': '公司规章制度.docx'}, page_content='带薪休假（休假期需提前和公司协商，以不耽误工作为前提，得到许可后方可休假）及2000元的一次性'), Document(metadata={'source': '公司规章制度.docx'}, page_content='工作为前提，得到许可后方可休假）及2000元的一次性旅游补贴。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='十一、 经费管理'), Document(metadata={'source': '公司规章制度.docx'}, page_content='1、'), Document(metadata={'source': '公司规章制度.docx'}, page_content='因外出购物或出差需向公司借用备用金时，应首先填写公司【借款申请单】，交主管经理核准、审批签'), Document(metadata={'source': '公司规章制度.docx'}, page_content='填写公司【借款申请单】，交主管经理核准、审批签字同意后方可借款；借款后必须在一周内报销销'), Document(metadata={'source': '公司规章制度.docx'}, page_content='字同意后方可借款；借款后必须在一周内报销销帐（出差人员在回公司上班一周内）；借款未冲平者，'), Document(metadata={'source': '公司规章制度.docx'}, page_content='（出差人员在回公司上班一周内）；借款未冲平者，不允许再次借款。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='2、'), Document(metadata={'source': '公司规章制度.docx'}, page_content='员工报销已发生费用，首先需找主管会计领取并填写公司【支出凭证】或【支出报销单】（由主管会'), Document(metadata={'source': '公司规章制度.docx'}, page_content='填写公司【支出凭证】或【支出报销单】（由主管会计负责提供、审核）；主管会计签字后，到借'), Document(metadata={'source': '公司规章制度.docx'}, page_content='负责提供、审核）；主管会计签字后，到借款处填入【借款申请单】中的报销日期，方算完成报'), Document(metadata={'source': '公司规章制度.docx'}, page_content='款处填入【借款申请单】中的报销日期，方算完成报销手续。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='3、 公司员工因公外出办事，续爱护使用车辆，遵守交通规则，不得酒后或者醉酒驾车。'), Document(metadata={'source': '公司规章制度.docx'}, page_content='4、 公司薪金发放日定为每月15日。')]\n"
     ]
    }
   ],
   "source": [
    "\n",
    "text_splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(\n",
    "    chunk_size=100, chunk_overlap=50\n",
    ")\n",
    "doc_splits = text_splitter.split_documents(documents)\n",
    "\n",
    "print(doc_splits)\n",
    "\n",
    "# Add to vectorDB"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-11-07T06:38:31.563503Z",
     "start_time": "2024-11-07T06:38:31.539971Z"
    }
   },
   "id": "1fa4af93479922d",
   "execution_count": 16
  },
  {
   "cell_type": "code",
   "outputs": [],
   "source": [
    "vectorstore = Chroma.from_documents(\n",
    "    documents=doc_splits,\n",
    "    collection_name=\"rag-chroma\",\n",
    "    embedding=XinferenceEmbeddings(server_url=EMBEDDER_URL, model_uid=EMBEDDER_MODEL),\n",
    ")\n",
    "retriever = vectorstore.as_retriever()"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-11-07T06:38:48.223510Z",
     "start_time": "2024-11-07T06:38:36.788396Z"
    }
   },
   "id": "18bbadbca714130c",
   "execution_count": 17
  },
  {
   "cell_type": "code",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Answer: 根据公司规章制度中的作息时间规定，员工的上班时间是早8:30，午休时间是12:00至13:30，下班时间是晚18:00。员工应严格按照公司统一的工作作息时间规定上下班，并且员工上下班施行签到制，上下班均须本人亲自签到，不得托、替他人签到。\n",
      "Source Documents: [Document(metadata={'source': '公司规章制度.docx'}, page_content='2、 作息时间规定\\n\\n上班时间 早8：30\\n\\n午休 12：00——13：30\\n\\n下班时间 晚 18：00'), Document(metadata={'source': '公司规章制度.docx'}, page_content='二、 生活作息\\n\\n1、 员工应严格按照公司统一的工作作息时间规定上下班。\\n\\n2、 作息时间规定'), Document(metadata={'source': '公司规章制度.docx'}, page_content='8、 员工要注重个人仪态仪表，工作时间的着装及修饰须大方得体。\\n\\n\\n\\n二、 生活作息'), Document(metadata={'source': '公司规章制度.docx'}, page_content='下班时间 晚 18：00\\n\\n3、 员工上下班施行签到制，上下班均须本人亲自签到，不得托、替他人签到。')]\n"
     ]
    }
   ],
   "source": [
    "from langchain.chains.retrieval_qa.base import RetrievalQA\n",
    "from langchain_openai import ChatOpenAI\n",
    "\n",
    "llm = ChatOpenAI(\n",
    "        model=\"qwen2.5-instruct\",\n",
    "        base_url=f'{API_BASE_URL}/v1',\n",
    "        api_key=API_KEY,\n",
    "        temperature=0,\n",
    "        streaming=False,\n",
    "        request_timeout=30\n",
    "    )\n",
    "\n",
    "# 创建检索增强生成 (RAG) 流程\n",
    "qa_chain = RetrievalQA.from_chain_type(\n",
    "    llm=llm,\n",
    "    retriever=retriever,\n",
    "    return_source_documents=True  # 设置为 True 可以返回来源文档\n",
    ")\n",
    "\n",
    "# 进行查询\n",
    "query = \"请问公司规章制度中的员工作息时间规定是什么？\"\n",
    "result = qa_chain.invoke(query)\n",
    "\n",
    "# 打印结果\n",
    "print(\"Answer:\", result['result'])\n",
    "print(\"Source Documents:\", result['source_documents'])"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-11-07T06:47:38.966938Z",
     "start_time": "2024-11-07T06:47:34.574478Z"
    }
   },
   "id": "7f136f1803c36601",
   "execution_count": 21
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
